package com.voole.service;

import java.util.List;
import java.util.Map;

import com.voole.entity.SysAuthority;

public interface IMenuService {

	/**
	 * 删除目录菜单
	 * @param menuLv 目录等级
	 * @param menuId 目录id
	 */
	Map<String, Object> delMenu(String menuLv, String menuId) throws Exception;
	
	/**
	 * 修改目录菜单
	 * @param menuLv 菜单等级
	 * @param menuId 菜单id
	 * @param menuUrl 菜单地址
	 * @param menuName 菜单名称
	 * @param menuSort 菜单排序数字
	 */
	Map<String, Object> updateMenu(String menuLv, String menuId, String menuUrl, String menuName, String menuSort, String isbutton, String actioncode, String actionnote) throws Exception;
	
	/**
	 * 获取目录菜单信息（单个菜单）
	 */
	Map<String, Object> getMenuInfo(String menuLv, String menuId) throws Exception;
	
	/**
	 * 获取目录菜单结构（顶侧，左侧主，左侧次）
	 */
	List<SysAuthority> getMenuList() throws Exception;
	
	/**
	 * 获取目录菜单 For 登入成功，绑定给用户，用于 用户主页面显示
	 * @param AuthorityIds 1级目录参数 例如：1,2,4
	 * @param catalogIds 2级目录参数 例如：1,2,4
	 * @param resourceIds 3级目录参数 例如：1,2,4
	 */
	List<SysAuthority> getMenuList(List authorityIdList, List catalogIdList, List resourceIdList) throws Exception;
	
	/**
	 * 获取 1,2,3,4级目录 for jsTree
	 * (第4级功能 会根据权限 标记 选中状态)
	 */
	List<Map<String, Object>> getMenuListForJsTree(Integer roleId) throws Exception;
	
	
}
